#include <iostream>
#include <vector>
#include <string>
#include <stack>
#include <cmath>

using namespace std;

#define myMAXINT 2147483647
#define myU1 2147483647U
#define myU2 2147483648U


inline void print(vector<bool> vs) {
    for (const auto &v : vs) cout << (v ? "True" : "False") << endl;
}

int main() {
    vector<bool> exps = { {
            0 == 0U,                    // True
            -1 < 0,                     // True
            -1 < 0U,                    // False
            myMAXINT > -myMAXINT - 1,   // True
            myU1 > -myMAXINT - 1,    // False
            myMAXINT > (int)myU2,    // True
            -1 > -2,                    // True
            (unsigned int)-1 > -2           // True
    } };
    print(exps);
    // output:
    // True
    // True
    // False
    // True
    // False
    // True
    // True
    // True
    //system("pause");
    return 0;
}
